--#SET TERMINATOR @
DROP TRIGGER UczenDelete@

CREATE TRIGGER UczenDelete 
	BEFORE DELETE ON Uczniowie
  --LANGUAGE SQL
  REFERENCING OLD AS o
  FOR EACH ROW MODE DB2SQL
  BEGIN ATOMIC
    DELETE FROM Oceny WHERE Uczniowie_nr_legitymacji = o.nr_legitymacji;
    DELETE FROM OcenyKoncowe WHERE Nr_legitymacji = o.nr_legitymacji;
    DELETE FROM Oceny_Z_Zachowania WHERE Uczniowie_nr_legitymacji = o.nr_legitymacji;
    DELETE FROM UzytkownicySystemu WHERE Uczniowie_nr_legitymacji = o.nr_legitymacji;
    
    
    FOR cur1 AS SELECT Opiekun_id FROM UczniowieOpiekunowie WHERE Uczniowie_nr_legitymacji = o.nr_legitymacji DO
	  DELETE FROM UczniowieOpiekunowie WHERE Uczniowie_nr_legitymacji = o.nr_legitymacji AND cur1.Opiekun_id = Opiekun_id;    
      IF (SELECT COUNT(*) FROM UczniowieOpiekunowie WHERE Uczniowie_nr_legitymacji = o.nr_legitymacji) = 0  THEN
		DELETE FROM Opiekunowie WHERE id = cur1.Opiekun_id;
      END IF;
    END FOR;
  END
  @
--#SET TERMINATOR ;